package al.xc.datasource.model;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author ZYY
 * @since 2020-01-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("User_Info")
public class UserInfo extends Model<UserInfo> {

    private static final long serialVersionUID=1L;

    /**
     * 表主键
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户唯一ID
     */
    @TableField("UserID")
    private String UserID;

    /**
     * 上级用户ID
     */
    @TableField("ParentUserID")
    private String ParentUserID;

    /**
     * 优惠卡
     */
    @TableField("PreferentialAmount")
    private BigDecimal PreferentialAmount;

    /**
     * 违规次数
     */
    @TableField("ViolationTime")
    private Integer ViolationTime;

    /**
     * 违规是否需要支付
     */
    @TableField("ViolationNeedPay")
    private Integer ViolationNeedPay;

    /**
     * 备注
     */
    @TableField("Remarks")
    private String Remarks;

    @TableField("IsDel")
    private Boolean IsDel;

    /**
     * 添加时间
     */
    @TableField("AddTime")
    private LocalDateTime AddTime;

    /**
     * 添加用户ID
     */
    @TableField("AddUserID")
    private String AddUserID;

    /**
     * 最后修改时间
     */
    @TableField("UpTime")
    private LocalDateTime UpTime;

    /**
     * 最后修改用户ID
     */
    @TableField("UpUserID")
    private String UpUserID;

    /**
     * 累积消费
     */
    @TableField("TotalConsumption")
    private BigDecimal TotalConsumption;

    /**
     * 退货次数
     */
    @TableField("ReturnsNumber")
    private Integer ReturnsNumber;

    /**
     * 可提现金额
     */
    @TableField("WithdrawalAmount")
    private BigDecimal WithdrawalAmount;

    /**
     * 已提现金额
     */
    @TableField("UnWithdrawalAmount")
    private BigDecimal UnWithdrawalAmount;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
